System, apparatus, and procedure for providing route suggestions

ABSTRACT

An apparatus or web server for assisting a user in selecting a route based on tracked popularity of routes traveled by other users and a desired user activity. The apparatus may include a memory for receiving and storing route data for routes previously traveled by a plurality of users and a processing device coupled with the memory for receiving desired route characteristic information from the user, including a desired activity type, such as running or cycling. The processing device may compare the desired route characteristics information with the route data, suggest at least one of the stored routes to the user based on the comparison, and visually indicate with a color-coded heat map a popularity of the routes suggested based on the comparison.

RELATED APPLICATIONS

The present application claims the benefit of provisional U.S. PatentApplication No. 61/792,704 entitled “Heat Map of Frequently TraveledPaths,” filed Mar. 15, 2013, which is herein incorporated by referencein its entirety.

BACKGROUND

Runners and cyclists frequently use fitness watches and other electronicdevices to track distance, time, speed, and the like, as well as torecord their traveled routes for future reference. Data gathered bythese devices is often reviewed by the user and shared with others.

SUMMARY

Runners and cyclists frequently desire to find new routes suitable forrunning, cycling, and other activities. Runners and cyclists may preferto run or bike on routes that are frequently traveled by others or avoidsuch frequently-traveled routes. Users may also prefer to travel alongroutes that have been previously traveled by other users havingequipment that is similar to the user's equipment. Though some existingsoftware and handheld devices will identify and suggest a path to travelthat is suitable for user workouts based on fitness criteria and/orgeographic locations provided by the user, these existing technologiesdo not take the activities of other users into consideration whenidentifying a path for travel.

Embodiments of the present technology provide a web server or otherapparatus for displaying and suggesting routes based on popularity ofpreviously traveled routes and various other collected criteriacorresponding with a user's desired route characteristic information,which may include selections and user profiles. This functionalityenables enhanced situational awareness and increased confidence insuggested routes for users who prefer popular, frequently-traveledroutes or privacy for users who prefer to avoid heavily-traveled routes.

Embodiments of the present technology provide a web server or otherapparatus for providing route information to users via the Internet orother communications medium. The apparatus broadly includes computerreadable memory and a processing device coupled with the memory. Thememory may receive and store route data for a plurality of routespreviously traveled by runners, bikers, and other users. The storedroute data may include geographic locations of points along the routes,information relating to the number of times or how frequently userstraveled through geographic locations associated with the routes,activity types associated with each of the routes, and dimensionscorresponding to equipment used when the route was traveled. Theprocessing device may display information about at least some of thestored routes and suggest one or more routes to users based on acomparison of the stored route data with one or more desired routecharacteristic information. In one embodiment, the processing devicereceives desired route characteristic information from a user, such as adesired activity type, and compares the desired route characteristicinformation with the stored route data to suggest at least one of thestored routes to the user based on the comparison. The processing devicemay also visually indicate a popularity of the stored and/or suggestedroutes with a color-coded heat map.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Other aspectsand advantages of the present technology will be apparent from thefollowing detailed description of the embodiments and the accompanyingdrawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

Embodiments of the present technology are described in detail below withreference to the attached drawing figures, wherein:

FIG. 1 is a schematic diagram of an exemplary computer and communicationsystem that may be used to implement various embodiments of the presenttechnology;

FIG. 2 is a schematic block diagram of various data stored in memory ofa web server or apparatus of FIG. 1;

FIG. 3 is a schematic block diagram illustrating the functionalcomponents of an electronic device of FIG. 1;

FIG. 4 is a schematic diagram of a Global Positioning System (GPS) thatmay be used by various embodiments of the invention;

FIG. 5 is a flow chart of an exemplary procedure for providing routeinformation to users in accordance with embodiments of the presenttechnology; and

FIG. 6 is an exemplary screen shot of a display of the electronic deviceof FIG. 3.

The drawing figures do not limit the present invention to the specificembodiments disclosed and described herein. The drawings are notnecessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the technology.

DETAILED DESCRIPTION

The following detailed description of the technology references theaccompanying drawings that illustrate specific embodiments in which thetechnology can be practiced. The embodiments are intended to describeaspects of the technology in sufficient detail to enable those skilledin the art to practice the technology. Other embodiments can be utilizedand changes can be made without departing from the scope of the presenttechnology. The following detailed description is therefore not to betaken in a limiting sense. The scope of the present technology isdefined only by the appended claims, along with the full scope ofequivalents to which such claims are entitled.

In this description, references to “one embodiment”, “an embodiment”, or“embodiments” mean that the feature or features being referred to areincluded in at least one embodiment of the technology. Separatereferences to “one embodiment”, “an embodiment”, or “embodiments” inthis description do not necessarily refer to the same embodiment and arealso not mutually exclusive unless so stated and/or except as will bereadily apparent to those skilled in the art from the description. Forexample, a feature, structure, act, etc. described in one embodiment mayalso be included in other embodiments, but not necessarily included.Thus, the present technology can include a variety of combinationsand/or integrations of the embodiments described herein.

Embodiments of the present technology provide a web server or otherapparatus that stores data associated with a plurality of routespreviously traveled by a plurality of runners, bikers, or other usersand suggests one or more stored routes to users based on a comparison ofthe stored route data with desired route characteristic information. Thestored route data may include geographic locations of points along theroutes, the number of times each of the routes was traveled by theplurality of users, and an indication of an activity type (e.g.,running, cycling, boating, skating, etc.). An indication of a popularityof a route and/or geographic locations associated with a route may beprovided on a display device. Conventional electronic devices andassociated software programs enable a user to identify a route to travelbased on fitness criteria and discrete geographic locations (e.g.,geographic coordinates) that the user is interested in passing through.However, such conventional software programs do not suggest routes basedon the popularity of a geographic location or stored route.

Runners and cyclists may prefer to run or bike along routes that aretraveled frequently by others or avoid such frequently-traveled routes.For example, a user may desire to run or bike through geographiclocations that have been previously traveled by other users. Users mayalso prefer to run or bike along routes that have been previouslytraveled by other users having equipment that is similar to the user'sequipment. Similar preferences may be shared by users that will boat,roller skate, roller blade or skate board along a route. Thus, it may bedesirable to suggest stored travel routes to users based on a comparisonof desired route characteristic information with stored route data,which includes information relating to the number of times or howfrequently users traveled a stored route or passed through geographiclocations associated with a route.

The apparatus or web server may store route data received from multipleusers and compare this information with a user's desired routecharacteristic information, such as desired activity type and variousother preferences, to suggest at least one of the stored routes to theuser. Based on this comparison, one or more routes of the plurality ofstored routes may be suggested to the user and displayed on anelectronic device of the user. For example, the one or more storedroutes that are suggested to the user may be displayed on the user'selectronic device in a color-coded heat map or in an ordered listing ofthe suggested routes, such that the user may easily identify storedroutes best suited for the user's desired route characteristicinformation. In embodiments, the heat map may associate adistinguishable color with geographic locations associated with a storedroute to indicate a frequency at which the geographic locationsassociated with the stored routes have been previously-traveled.

Embodiments of the technology will now be described in more detail withreference to the drawing figures. FIG. 1 illustrates an exemplarycomputer and communication system 10 that may be used to implementaspects of the technology discussed herein. The system 10 includes a webserver or other electronic apparatus 12 having a processing device 14and memory 16, as well as one or more computer programs for operatingcomponents of the system 10. The apparatus 12 may be accessed by one ormore electronic devices 18A,B,C,D via a communications network 20 or awireless network 22.

The apparatus 12 receives, stores, and provides access to the data andinformation described herein. The apparatus 12 may also implement one ormore computer programs for performing some of the functions describedherein and may provide a course file or a web-based portal that can beaccessed by the electronic devices 18A,B,C,D and other such electronicdevices. In some embodiments, the apparatus 12 may reside in a personalcomputer or server that is accessible by remote users via the Internetor other wired or wireless communication techniques. Embodiments of theapparatus 12 may include one or more servers running Windows; LAMP(Linux, Apache HTTP server, MySQL, and PHP/Perl/Python); Java; AJAX; NT;Novel Netware; Unix; or any other software system. The apparatus 12includes or has access to computer memory, such as the memory 16, andother hardware, such as the processing device 14, and software forreceiving, storing, accessing, and transmitting information as describedbelow. The apparatus 12 may also include conventional web hostingoperating software, searching algorithms, an Internet connection, and isassigned a URL and corresponding domain name so that it can be accessedvia the Internet in a conventional manner. In other embodiments, theapparatus 12 may be a personal computer, laptop, or any computing deviceoperable to store information and execute software or computer codesassociated with the procedures described herein.

The processing device 14 provides processing functionality for theapparatus 12 and may include any number of processors, microcontrollers,or other processing systems, and resident or external memory for storingdata and other information accessed or generated by the apparatus 12.The processing device 14 may execute one or more software programs thatimplement the techniques and modules described herein. The processingdevice 14 is not limited by the materials from which it is formed or theprocessing mechanisms employed therein and, as such, may be implementedvia semiconductor(s) and/or transistors (e.g., electronic integratedcircuits (ICs)), and so forth.

The memory 16 is an example of device-readable storage media thatprovides storage functionality to store various data associated with theoperation of the computer system 12, such as the software program andcode segments mentioned above, or other data to instruct the processingdevice 14 and other elements of the computer system 12 to perform thetechniques described herein. Although a single memory 16 is shown, awide variety of types and combinations of memory may be employed. Thememory 16 may be integral with the processing device 14, stand-alonememory, or a combination of both. The memory may include, for example,removable and non-removable memory elements such as RAM, ROM, Flash(e.g., SD Card, mini-SD card, micro-SD Card), magnetic, optical, USBmemory devices, and so forth.

The memory 16 of the web server or other electronic apparatus 12receives and stores route data for a plurality of routes taken by aplurality of users of electronic devices 18A,B,C,D, as illustrated inFIG. 2 as stored route data 202. The memory 16 may also include desiredroute characteristic information 204 from the user, which may be adesired activity type (e.g., running, cycling, boating, skating, etc.),desired geographic area, type of electronic device the user intends touse while traveling a route, the dimensions corresponding to equipmentof the user, or selection of another user who has provided route data.Memory 16 may also include comparison data 206 determined based on acomparison of the stored route data 202 and the desired routecharacteristic information 204, as described in detail below.

The electronic devices 18A,B,C,D may be any computing devices used byusers for sending and/or receiving route data and other informationdescribed herein. The electronic devices 18A,B,C,D may be desktopcomputers, laptop computers, tablet computers, portable navigationdevices (PND), mobile phones, personal digital assistants, fitnesstracking devices, multimedia devices, media players, game devices,combinations thereof, and so forth. In particular embodiments, thedevices 18A,B,C,D may include, for example, a cycle computer, a sportwatch, a golf computer, a smart phone providing fitness or sportingapplications (apps), a hand-held GPS device used for hiking, and soforth. Each personal computing device 18A,B,C,D preferably includes orcan access an Internet browser and a conventional Internet connectionsuch as a wireless broadband connection, DSL converter, or ISDNconverter so that it can exchange data with the computer system 12 viathe communications network 20. One or more of the devices 18A,B,C,D mayalso exchange data with another one of the devices 18A,B,C,D via a wiredor wireless data link as illustrated. For example, a fitness watch 18Amay be operable to interface with a laptop 18B to send and receive routeinformation and user characteristics, as described herein.

The communications network 20 may be the Internet or any othercommunications network such as a local area network, a wide areanetwork, or an intranet. The communications network 20 may include or bein communication with a wireless network 22 capable of supportingwireless communications such as the wireless networks operated by AT&T,Verizon, or Sprint. The wireless network 22 may include conventionalswitching and routing equipment. The communications network 20 andwireless network 22 may also be combined or implemented with severaldifferent networks.

The networks 20 and 22 described above are representative of a varietyof different communication pathways and network connections which may beemployed, individually or in combinations, to communicate among thecomponents of the system 10. Thus, the networks 20 and 22 may berepresentative of communication pathways achieved using a single networkor multiple networks. Further, the networks 20 and 22 are representativeof a variety of different types of networks and connections that arecontemplated including, but not limited to: the Internet; an intranet; asatellite network; a cellular network; a mobile data network; wiredand/or wireless connections; and so forth.

Examples of wireless networks include, but are not limited to: networksconfigured for communications according to: one or more standard of theInstitute of Electrical and Electronics Engineers (IEEE), such as 802.11or 802.16 (Wi-Max) standards; Wi-Fi standards promulgated by the Wi-FiAlliance; Bluetooth standards promulgated by the Bluetooth SpecialInterest Group; and so on. Wired communications are also contemplatedsuch as through universal serial bus (USB), Ethernet, serialconnections, and so forth.

The components of the system 10 illustrated and described herein aremerely examples of equipment that may be used to implement embodimentsof the present invention and may be replaced with other equipmentwithout departing from the scope of the present invention. Some of theillustrated components of the system 10 may also be combined and/oromitted.

Embodiments of the present technology may also comprise one or morecomputer programs stored in or on computer-readable medium residing onor accessible by the computer system 12 or the electronic devices18A,B,C,D. The computer programs may comprise listings of executableinstructions for implementing logical functions in the processing device14 and/or the electronic devices 18A,B,C,D and can be embodied in anynon-transitory computer-readable medium, such as the memory 16, for useby or in connection with an instruction execution system, apparatus, ordevice, such as a computer-based system, processor-containing system, orother system that can fetch the instructions from the instructionexecution system, apparatus, or device, and execute the instructions. Inthe context of this application, a “computer-readable medium” can be anynon-transitory means that can contain, store, or communicate theprograms. The computer-readable medium can be, for example, but notlimited to, an electronic, magnetic, optical, electro-magnetic,infrared, or semiconductor system, apparatus, or device. More specific,although not inclusive, examples of the computer-readable medium wouldinclude the following: an electrical connection having one or morewires, a portable computer diskette, a random access memory (RAM), aread-only memory (ROM), an erasable, programmable, read-only memory(EPROM or Flash memory), an optical fiber, and a portable compact diskread-only memory (CDROM).

FIG. 3 illustrates one of the electronic devices 18C in more detail.Specifically, mobile electronic device 18C is operable to providenavigation functionality to a user thereof using various components ofthe system 10 illustrated in FIG. 1 and described herein. The mobileelectronic device 18C may be configured in a variety of ways. Forinstance, the mobile electronic device 18C may be configured for useduring fitness and/or sporting activities and comprise a cycle computer,a sport watch, a golf computer, a smart phone providing fitness orsporting applications (apps), a hand-held GPS device used for hiking,and so forth. However, it is contemplated that the techniques of thepresent technology may be implemented in any mobile electronic devicethat includes navigation functionality. In the following description, areferenced component, such as mobile electronic device 18C, may refer toone or more entities, and therefore by convention reference may be madeto a single entity (e.g., the mobile electronic device 18C) or multipleentities (e.g., the mobile electronic devices 18C, the plurality ofmobile electronic devices 18C, and so on) using the same referencenumber.

In FIG. 3, the mobile electronic device 18C is illustrated as includinga processor 104 and a memory 106. The processor 104 provides processingfunctionality for the mobile electronic device 18C and may include anynumber of processors, microcontrollers, or other processing systems, andresident or external memory for storing data and other informationaccessed or generated by the mobile electronic device 18C. The processor104 may execute one or more software programs that implement thetechniques and modules described herein. The processor 104 is notlimited by the materials from which it is formed or the processingmechanisms employed therein and, as such, may be implemented viasemiconductor(s) and/or transistors (e.g., electronic integratedcircuits (ICs)), and so forth.

The memory 106 is an example of device-readable storage media thatprovides storage functionality to store various data associated with theoperation of the mobile electronic device 18C, such as the softwareprogram and code segments mentioned above, or other data to instruct theprocessor 104 and other elements of the mobile electronic device 18C toperform the techniques described herein. Although a single memory 106 isshown, a wide variety of types and combinations of memory may beemployed. The memory 106 may be integral with the processor 104,stand-alone memory, or a combination of both. The memory may include,for example, removable and non-removable memory elements such as RAM,ROM, Flash (e.g., SD Card, mini-SD card, micro-SD Card), magnetic,optical, USB memory devices, and so forth.

The mobile electronic device 18C is further illustrated as includingfunctionality to determine its geographic location. For example, mobileelectronic device 18C may receive signal data 108 transmitted by one ormore position data platforms and/or position data transmitters, examplesof which are depicted as the GPS satellites 110 in FIG. 4. Moreparticularly, mobile electronic device 18C may include aposition-determining module 112, as illustrated in FIG. 3, that maymanage and process signal data 108 received from Global PositioningSystem (GPS) satellites 110 via a GPS receiver 114. Theposition-determining module 112 is representative of functionalityoperable to determine a geographic position through processing of thereceived signal data 108. The signal data 108 may include various datasuitable for use in position determination, such as timing signals,ranging signals, ephemerides, almanacs, and so forth.

Position-determining module 112 may also be configured to provide avariety of other position-determining functionality.Position-determining functionality, for purposes of discussion herein,may relate to a variety of different navigation techniques and othertechniques that may be supported by “knowing” one or more positions. Forinstance, position-determining functionality may be employed to provideposition/location information, timing information, speed information,and a variety of other navigation-related data. Accordingly, theposition-determining module 112 may be configured in a variety of waysto perform a wide variety of functions. For example, theposition-determining module 112 may be configured for outdoornavigation, vehicle navigation, aerial navigation (e.g., for airplanes,helicopters), marine navigation, personal use (e.g., as a part offitness-related equipment), and so forth. Accordingly, theposition-determining module 112 may include a variety of devices todetermine position using one or more of the techniques previouslydescribed.

The position-determining module 112, for instance, may use signal data108 received via the GPS receiver 114 in combination with map data 116that is stored in the memory 106 and/or otherwise received by the mobileelectronic device 18C to generate navigation instructions (e.g.,turn-by-turn instructions to an input destination or POI), show acurrent position on a map, and so on. Position-determining module 112may include one or more antennas to receive signal data 108 as well asto perform other communications, such as communication via one or morenetworks 20,22 described herein. The position-determining module 112 mayalso provide other position-determining functionality, such as todetermine an average speed, calculate an arrival time, and so on.

Although a GPS system is described and illustrated in relation to FIGS.2 and 3, it should be apparent that a wide variety of other positioningsystems may also be employed, such as other global navigation satellitesystems (GNSS), terrestrial based systems (e.g., wireless-phone basedsystems that broadcast position data from cellular towers), wirelessnetworks that transmit positioning signals, and so on. For example,positioning-determining functionality may be implemented through the useof a server in a server-based architecture, from a ground-basedinfrastructure, through one or more sensors (e.g., gyros, odometers, andmagnetometers), use of “dead reckoning” techniques, and so on.

The mobile electronic device 18C includes a display 120 to displayinformation to a user of the mobile electronic device 18C. Inembodiments, the display 120 may comprise an LCD (Liquid Crystal Diode)display, a TFT (Thin Film Transistor) LCD display, an LEP (LightEmitting Polymer) or PLED (Polymer Light Emitting Diode) display, and soforth, configured to display text and/or graphical information such as agraphical user interface. The display 120 may be backlit via a backlightsuch that it may be viewed in the dark or other low-light environments.

The display 120 may be provided with a touch screen 122 to receive input(e.g., data, commands, etc.) from a user. For example, a user mayoperate the mobile electronic device 18C by touching the touch screen122 and/or by performing gestures on the screen 122. In someembodiments, the touch screen 122 may be a capacitive touch screen, aresistive touch screen, an infrared touch screen, combinations thereof,and the like. The mobile electronic device 18C may further include oneor more input/output (I/O) devices 124 (e.g., a keypad, buttons, awireless input device, a thumbwheel input device, a trackstick inputdevice, and so on). The I/O devices 124 may include one or more audioI/O devices, such as a microphone, speakers, and so on.

The mobile electronic device 18C may also include a communication module126 representative of communication functionality to permit mobileelectronic device 18C to send/receive data between different devices(e.g., components/peripherals) and/or over the one or more networks 20and 22 described above. Communication module 126 may be representativeof a variety of communication components and functionality including,but not limited to: one or more antennas; a browser; a transmitterand/or receiver; a wireless radio; data ports; software interfaces anddrivers; networking interfaces; data processing components; and soforth.

The mobile electronic device 18C through functionality represented bythe communication module 126 may be configured to communicate, via oneor more of the networks 20,22 described above, with a cellular providerand an Internet provider to receive mobile phone service and variouscontent, respectively. Content may represent a variety of differentcontent, examples of which include, but are not limited to: map data,which may include route information, route popularity, and the like;fitness metrics, such as heart rate, speed, and the like; dimensions andcharacteristics relating to an activity, such as activity type anddetails associated with equipment used to travel along a route (e.g.,dimensions of exercise equipment, watercraft, aircraft, automobile,motorcycle, etc.); web pages; services; music; photographs; video; emailservice; instant messaging; device drivers; real-time and/or historicalweather data; instruction updates; and so forth.

The mobile electronic device 18C is illustrated as including a userinterface 136, which is storable in memory 106 and executable by theprocessor 104. The user interface 138 is representative of functionalityto control the display of information and data to the user of the mobileelectronic device 18C via the display 120. In some implementations, thedisplay 120 may not be integrated into the mobile electronic device 18Cand may instead be connected externally using universal serial bus(USB), Ethernet, serial connections, and so forth. The user interface136 may provide functionality to allow the user to interact with one ormore applications 138 of the mobile electronic device 18C by providinginputs via the touch screen 122 and/or the I/O devices 124. For example,the user interface 136 may cause an application programming interface(API) to be generated to expose functionality to an application 138 toconfigure the application for display by the display 120 or incombination with another display. In embodiments, the API may furtherexpose functionality to configure the application 138 to allow the userto interact with an application by providing inputs via the touch screen122 and/or the I/O devices 124.

Applications 138 may comprise software, which is storable in memory 106and executable by the processor 104, to perform a specific operation orgroup of operations to furnish functionality to the mobile electronicdevice 18C. Example applications may include fitness application,exercise applications, health applications, diet applications, cellulartelephone applications, instant messaging applications, emailapplications, photograph sharing applications, calendar applications,address book applications, and so forth.

The user interface 136 may also include or have access to a browser 140.The browser 140 enables the mobile electronic device 18C to display andinteract with content such as a webpage within the World Wide Web, awebpage provided by a web server in a private network, and so forth. Thebrowser 140 may be configured in a variety of ways. For example, thebrowser 140 may be configured as an application 138 accessed by the userinterface 136. The browser 140 may be a web browser suitable for use bya full resource device with substantial memory and processor resources(e.g., a smart phone, a personal digital assistant (PDA), etc.).However, in one or more implementations, the browser 140 may be a mobilebrowser suitable for use by a low-resource device with limited memoryand/or processing resources (e.g., a mobile telephone, a portable musicdevice, a transportable entertainment device, etc.). Such mobilebrowsers typically conserve memory and processor resources, but mayoffer fewer browser functions than web browsers.

The mobile electronic device 18C is illustrated as including anavigation module 142, which is storable in memory 106 and executable bythe processor 104. The navigation module 142 represents functionality toaccess map data 116 that is stored in the memory 106 or otherwiseaccessed by the mobile electronic device 18C to provide mapping andnavigation functionality to the user of the mobile electronic device18C. For example, the navigation module 142 may generate navigationinformation that includes maps and/or map-related content for display bydisplay 120. As used herein, map related content includes informationassociated with maps generated by the navigation module 142 and mayinclude route information, POIs, information associated with POIs, maplegends, controls for manipulation of a map (e.g., scroll, pan, etc.),street views, aerial/satellite views, and the like, displayed on or as asupplement to one or more maps.

In one or more implementations, the navigation module 142 is configuredto utilize the map data 116 to generate navigation information 144 thatincludes maps and/or map-related content for display by the mobileelectronic device 18C independently of content sources external to themobile electronic device 18C. Thus, for example, the navigation module142 may be capable of providing mapping and navigation functionalitywhen access to external content is not available through network 20,22.It is contemplated; however, that the navigation module 142 may also becapable of accessing a variety of content via the networks 20,22 togenerate navigation information including maps and/or map-relatedcontent for display by the mobile electronic device 18C in one or moreimplementations.

The navigation module 142 may be configured in a variety of ways. Forexample, the navigation module 142 may be configured as an application138 accessed by the user interface 136. The navigation module 142 mayutilize position data determined by the position-determining module 112to show a current position of the user (e.g., the mobile electronicdevice 18C) on a displayed map, furnish navigation instructions (e.g.,turn-by-turn instructions to an input destination or POI), calculatetraveling distances and times, and so on.

As illustrated in FIG. 3, the navigation module 142 further includes aroute selection module 146, which is also storable in memory 106 andexecutable by the processor 104. The route selection module 146 causesthe display 120 of the mobile electronic device 18C to be configured todisplay suggested route information 148. In the implementation shown,the route selection information 148 is illustrated in the format of amap page 150 that includes a route graphic 152 representing a suggestedroute that may be traversed by a user of the mobile electronic device18C. In some embodiments of the invention, the route selection module146 may include information relating to the desired route characteristicinformation 204 associated with the user, as described herein. However,note that the desired route characteristic information 204 may also becollected and/or stored in memory 16 as described herein and illustratedin FIG. 2.

In embodiments, a remote web server or other electronic apparatus 12 mayprovide route selection module 146 of mobile electronic device 18Cinformation associated with a suggested route, such as suggested routeinformation 148. For example, a suggested route may be provided to theuser of mobile electronic device 18C in a course file, such as TPX, GPX,FIT, or KML files, or via a web browser displayed on the display 120 ofmobile electronic device 18C. The course files may be provided by theremote web server or other electronic apparatus 12 to various electronicdevices 18A,B,C,D. For example, the course files may be stored in memory106 of mobile electronic device 18C and may contain map data and/ornavigation data associated with the suggested route to assist the userin navigating the route.

An exemplary procedure for assisting a user in selecting a route onwhich to run, bike, or perform other activity, based on comparingdesired route characteristic information 204 with tracked popularity ofroutes traveled by other users is described herein. The procedure maybroadly include receiving and storing route data for routes previouslytraveled by a plurality of users, receiving desired route characteristicinformation 204 from the user, comparing the desired routecharacteristic information 204 to the stored route data 202, andsuggesting at least one of the stored routes to the user based on thecomparison. Furthermore, the procedure may include visually indicatingwith a color-coded heat map a popularity of all stored routes or thestored routes suggested to the user based on the comparison.

The flow chart of FIG. 5 depicts the steps of an exemplary procedure 500for providing route information to the user for selecting a route. Insome alternative implementations, the functions noted in the variousblocks may occur out of the order depicted in FIG. 5. For example, twoblocks shown in succession in FIG. 5 may in fact be executedsubstantially concurrently, or the blocks may sometimes be executed inthe reverse order depending upon the functionality involved.

The procedure 500 may comprise the step of receiving and storing routedata associated with routes previously traveled by a plurality of users,as depicted in block 502. For example, the stored route data 202 may bereceived and stored in the memory 16 of the apparatus 12 describedabove. The route data may be collected from electronic devices, such aselectronic device A, B, C, D described above, and/or entered manually byone or more of the users submitting route data. The stored route data202 may include geographic locations of points on the routes traveled bythe users, types of electronic devices used to collect geographiclocations of points along the traveled routes, type(s) of activityassociated with each of the routes, characteristics and dimensionsassociated with the user's equipment, types of activity, and the like,and/or the number of times each route was traveled by the plurality ofusers. The types of activity associated with the routes may includerunning, cycling, skating, and the like. Characteristics and dimensionsassociated with the types of activities may depend on exercise equipmentor vehicles used to travel the routes. For example, characteristics anddimensions associated with exercise equipment may include dimensions ofbicycles, roller blades, skateboards, and vehicles, such as awatercraft, aircraft, automobile, motorcycle, and the like. The numberof times each route was traveled by the plurality of users may be usedto determine a frequency at which the geographic locations associatedwith the stored routes have been previously-traveled by users. Apopularity of a route may be determined based on the number of timeseach route was traveled and/or the frequency at which the routes havebeen previously-traveled.

The route data may further include or be categorized according to time,day, month, season, tides, types of electronic devices, types ofactivity, and/or characteristics and dimensions of equipment used totravel the routes by the users from which route data is collected. Inembodiments, the popularity of stored route data 202 may be determinedand indicated based on the time, day, month, season, tides, types ofelectronic devices, types of activity, or dimensions corresponding toequipment used to travel the stored routes. Route data may also includeinformation associated with the users being tracked or inputting routedata into the apparatus 12, such as the type of travel or exerciseequipment used, type of activity performed, and teams or groups withwhich the person is associated. For example, the stored route data 202may include an identification of the users who traveled each of theroutes and the desired route characteristic information 204 may identifya selected user. In embodiments, the processing device 14 suggests tothe user who provided the desired route characteristic information 204one or more stored routes that were previously traveled by the selecteduser. The stored route data 202 may also include fitness metricsassociated with the user at various geographic locations through whichthe user traveled while wearing or holding a mobile electronic device.

The procedure 500 may further include the step of displaying informationabout the routes previously taken by some or all of the users, asdepicted in block 504. For example, the processing device 14 may displayor provide information to display an indication of popularity of routes,geographic locations of points of interest, starting points of routes,types of activities associated with the routes, types of equipment usedto travel the routes, and any other route data described herein.Popularity of the routes may be determined by the processing device 14using the stored route data 202. The number of times each route wastraveled by the plurality of users may be used to determine thepopularity of stored routes that have been previously-traveled by someor all of the users. For example, the frequency at which the routes havebeen previously-traveled may be used to determine the popularity ofstored routes. In embodiments, the popularity of stored routes may bepresented in the form a listing ranking each route by its popularity.Displaying information about the routes may be accomplished via anInternet portal on one of the electronic devices 18A,B,C,D.

The procedure 500 may also include the step of receiving desired routecharacteristic information 204 from a user wishing to receive routeinstructions, as depicted in block 506. The desired route characteristicinformation 204 may be based on user selections made via the electronicdevice, a profile created by or for the user, or other various sensedinformation about the user communicated to the processing device 14. Forexample, the user's desired route characteristic information 204 may beinput or selected via a software program or app on the electronic device18A,B,C,D or via an Internet portal accessed and displayed by theelectronic device 18A,B,C,D. The user's desired route characteristicinformation 204 may be uploaded to the apparatus 12 and stored on thememory 16 via communications network 20 or wireless network 22. In someembodiments, the user's desired route characteristic information 204 maybe stored in memory 16 and memory 106 as a user profile which may becompleted and edited by the user via the electronic device 18A,B,C,D.

The user's desired route characteristic information 204 may include theuser's name, desired activity type, a type of electronic deviceassociated with or in use by the user, selected equipment for the user'sdesired activity type, characteristics and dimensions corresponding tothe selected equipment, a geographic area associated with and/orselected by the user, and/or one or more users (e.g., a group, team, orindividuals) associated with the user. The user's desired routecharacteristic information may also include user preferences such as adesired level of route popularity and a time, day, month, or season atwhich the user will perform the desired activity type. The user'sdesired activity type may include running, cycling, boating, rollerskating, roller blading, skateboarding, and the like. Furthermore, theuser's activity type may include subcategories of activity types, suchas street biking versus mountain biking. The user's selected equipmentmay include bikes, skates, skateboards, boats, other exercise equipment,vehicles, and the like. The user's selected equipment may includespecific dimensions that enable enhanced situational awareness andincreased confidence in suggested routes for users who prefer popular,frequently-traveled routes by other users have equipment of similar sizeand capability. For example, a user may select a boat having precisewidth, height above water and depth below water to locatepreviously-traveled routes by other users having a boat that similar toor exceeding the dimensions of the user's boat. Knowing that other userswith similar equipment have safely traveled along a route in a body ofwater may provide the user with enhanced situational awareness andincreased confidence to travel through that body of water. Furthermore,the user's selected equipment may include specific types, brands,models, or sizes of the equipment listed herein, such as a specific typeof bike.

The procedure 500 may also include the steps of comparing the route dataand the desired route characteristic information 204, as depicted inblock 508, and suggesting one or more stored routes to the user based onthe comparison, as depicted in block 510. For example,previously-traveled routes may be suggested to the user based on auser-specified geographic area, an activity type (running, cycling,etc.), user-selected equipment, and/or desired popularity of a route. Adetermination of popularity of the routes and/or geographic locationsalong the routes may be accomplished by analyzing the route datadescribed above. For example, the processing device 14 may access thestored routes and determine an extent to which a route has been traveledor a geographic location has been visited based on a count of a totalnumber of times each route was previously traveled or a count of a totalnumber of times a route associated with each geographic location wastraveled. The processing device 14 may also determine if users thattraveled a particular route took that route multiple times (e.g.,whether a few users took the route many times or many users took theroute a few times). Another factor used to determine the popularity of aroute may be the frequency of which the route is traveled by users(e.g., multiple times a day, a few times a month, etc.).

The popularity of a route may be communicated to the user by providingdata representative of a total number of times geographic locationscomprising the route were traveled within a relevant time period or bycategorizing each route into a set of ranges. For example, in oneembodiment, a set of five ranges may be used to indicate the popularityof previously traveled routes. A first range may be associated withmost-heavily-traveled routes (e.g., routes that rank in the 80-100^(th)percentile of stored routes, 80-100% of users tracked previouslytraveled these routes, etc.). A second range may be associated withheavily-traveled routes (e.g., routes rank in the 60-79^(th) percentileof stored routes, 60-79% of users tracked previously traveled theseroutes, etc.). A third range may be associated with routes of medium use(e.g., routes rank in the 40-59^(th) percentile of stored routes, 40-59%of users tracked previously traveled these routes, etc.). A fourth rangemay be associated with lightly-traveled routes (e.g., routes rank in the20-39^(th) percentile of stored routes, 20-39% of users trackedpreviously traveled these routes, etc.). A fifth range may be associatedwith rarely-traveled routes (e.g., routes rank at or less than the19^(th) percentile of stored paths, 19% or less of users trackedpreviously traveled these routes, etc.). This evaluation technique maybe applied to each stored route independent of the geographic locationscomprising each route, based on the geographic locations comprising eachroute, or combinations thereof. In embodiments, a color-coded heat mapmay associate a distinguishable color with each popularity range andpresent each route in one of five colors on a map. These ranges are onlyexamples and may be replaced with any other ranges without departingfrom the scope of the present technology.

Comparisons of the route data and desired route characteristicinformation 204 may be accomplished using a variety of techniques. Forexample, the processing device 14 may analyze the stored route data 202to identify geographic locations or routes that are heavily traveled inthe morning, afternoon, or evening hours, or that are more popularduring a particular season. This may enable the user to select or inputdesired route characteristic information 204 and join others on a routeat a time when it is heavily traveled or to pick a time of day that itis not heavily traveled to avoid the increased activity in thosegeographic locations. Furthermore, tide related information may beselected or inputted by the user as desired route characteristicinformation 204 to identify areas of a route affected by the tide at aparticular time of day or time of year.

In other embodiments, the comparison may include comparing types ofactivity and the exercise equipment or vehicle used to travel the storedroute with a desired activity type and various characteristics and/ordimensions of exercise equipment or vehicles selected or input by theuser as desired route characteristic information 204. Specifically, ifthe user plans to travel a route using particular fitness equipment or aparticular vehicle, the processing device 14 may compare the desiredroute characteristic information 204 with the stored route data 202 todetermine which stored routes were previously traveled using the sameequipment or vehicle, or which stored routes were previously traveledusing equipment or vehicles having similar characteristics or dimensionsand suggest one or more of the stored routes to the user. The user'sfitness equipment or vehicle may be provided to the apparatus 12 via auser profile, user selection of particular fitness equipment orvehicles, or manual input by the user of particular characteristics ordimensions of the fitness equipment or vehicle that will be used totravel a suggest route. For example, if the user is interested in usinga bicycle to travel to a destination or perform a workout, routes orgeographic locations previously traveled by other users using bicyclesmay be suggested and displayed. This functionality may also allow theuser to identify the popularity of routes or geographic locations for aparticular activity type or by a particular fitness equipment or vehiclein order to select a route for travel based on the user's interest intravelling through popular geographic locations. For example, a runnermay desire to run on a path that is accessible to bicycles, but notfrequently traveled by others on bicycles to avoid incidents or trafficalong the suggested route. Similarly, fisherman can identify heavilytraveled areas of a body of water and receive suggested routes that mayavoids fishing in those areas or identify a suggested route that is notpopular for other users.

In some embodiments of the technology, the fitness equipment or vehiclecharacteristics or dimensions may be specified by the user as desiredroute characteristic information 204 if the user is interested in usinga marine vessel having known characteristics or dimensions to travelalong a suggested route to a destination, such as a port, divinglocation, and the like. In this case, the apparatus 12 may suggest oneor more routes previously traveled by similar types and sizes of boats.This suggestion may allow the user, such as a watercraft operator, toidentify popular routes or waterways navigated by other similar types ofwatercraft and select a suggested route for travel based on thepopularity of the stored routes. The user may also identify popularroutes through a geographic location such as a port or a coral reef anddetermine routes, courses, and areas of interest for a particularactivity type, such as areas popular for fishing or diving, and select asuggested route for travel based on the popularity of the stored routes.The user may also identify areas having sufficient width, depth, draft,and clearance for the user's particular boat or watercraft and select asuggested route for travel based on the popularity of the stored routes.The similarity between the user's electronic device, which may be inputas desired route characteristic information 204, and the types ofelectronic devices used to gather the stored route data 202 may also beused in a comparison to suggest one or more routes to a user and assistthe user in determining which stored route to follow.

In another embodiment of the present technology, the apparatus 12 mayenable a driver interested in traveling along a stored route to adestination using an automobile to identify tourist areas and paths ofsufficient width to drive through with a vehicle selected by the user.In yet another embodiment of the present technology, the apparatus 12may enable pilots interested in flying along a stored route to adestination in an aircraft to identify popular flight paths for otherusers. For example, a pilot interested in flying to a destinationthrough a mountainous terrain can have increased confidence for a routethrough the mountains if it has been frequently traveled by other pilotsin similar aircraft, time of day, or other desired route characteristicinformation 204.

Finally, the procedure 500 may include the step of visually indicatingpopularity of the routes suggested to the user on a display of theelectronic device, such as with a color-coded heat map and/or an orderedlisting of routes, as depicted in block 512. This may enable the user toeasily select a route or geographic location of interest based onpopularity of suggested routes and/or geographic locations.Specifically, the heat map may communicate the popularity of apreviously-traveled route or geographic location has been traveled byother users by associating a distinguishable color with each storedroute or geographic location. Associating distinguishable colors withthe geographic locations associated with displayed routes may indicate afrequency at which the geographic locations have beenpreviously-traveled. The suggestion of a stored route may be based onthe popularity of the routes or independent of the popularity of theroutes. Thus, viewing a color-coded heat map may enable a user to selecta suggested route because this color-coding functionality helpsdistinguish a heavily-traveled route from a lightly-traveled route whenmultiple paths are simultaneously present and/or suggested by thecomputer program or apparatus 12.

As illustrated in FIG. 6, the heat map 600 may be provided via a Webportal accessible by the user's electronic device 18A,B,C,D and maydisplay a plurality of distinguishable colors associated with a storedroute or geographic locations associated with a route within a regionbeing presented in the heat map. For example, the geographic locationsassociated with a highly-traveled route may be color-coded red, asrepresented by the cross-hatching 602 on the heat map 600, whilemoderately highly-traveled geographic locations or routes may becolor-coded orange, as represented by the cross-hatching 604,medium-traveled geographic locations or routes may be color-codedyellow, as represented by the cross-hatching 606, occasionally-traveledgeographic locations or routes may be color-coded green, as representedby the cross-hatching 608, and rarely-traveled geographic locations orroutes may be color-coded blue, as represented by the cross-hatching610. As described above, a color-coded heat map may associate adistinguishable color with a popularity range and present each route inone of a plurality of colors on a map.

The heat map 600 may enable the user to identify the popularity ofrunning and cycling workout hot spots in a region, such as a city park.Such popularity of use information may help the user find new locationsto work out, create a new course, see where they may be near otherrunners, or suggest a good location to meet up with friends. Routessuggested to the user may be visually indicated on a color-coded heatmap associating a distinguishable color with geographic locationsassociated with the stored routes to indicate a frequency at which thegeographic locations have been previously traveled. In some embodimentsof the technology, a team of cyclists or runners that are not able topractice navigating a route together may identify routes that have beenpreviously traveled by teammates and travel the more popular routes forpractice. Specifically, routes suggested to the user may be filteredbased on routes previously-traveled by teammates or group membersassociated with the user.

The heat map 600 may also include start point graphics 612 indicatingthe start and/or finishing point of a particular route. Furthermore, alisting 614 of the routes may be provided and may be ranked bypopularity of the routes or any other criteria selected by the user. Forexample, if a user profile indicates that the user prefers to run alone,routes may be displayed in reverse order from least to most popular andmay be filtered according to routes collected from other runners onlyand could further be filtered by a time of day that the user wishes torun. Also, as illustrated in FIG. 6, drop down menus 616 or otherselectable options may be provided to the user in order to input desiredroute characteristic information 204. For example, a drop down menu 616may enable a user to select the user's desired activity type, such asrunning or cycling. Then the stored routes displayed on the heat map 600and in the listing 614 may be filtered according to the selectedactivity type. The stored routes that are displayed may be suggested forthe user based on a comparison of at least some of the user's desiredroute characteristic information 204 with the stored route data 202 orpresent all stored routes for a displayed geographic region.

In embodiments, a desired geographic area or level of zoom applied tothe heat map 600 may be considered desired route characteristicinformation 204 herein and may be used as criteria to filter which ofthe stored routes will be displayed on the heat map 600 and/or listing614. In some embodiments of the technology, the popularity of a routemay be scaled according to a level of zoom. For example, the number oftimes required for a route to be presented in a heat map covering alarge geographic area may be much greater than the number of timesrequired for that route to appear in a heat map of a much smallergeographic area.

In some embodiments of the technology, the heat map 600 and/or thesuggested routes described herein may be provided to the user via coursefiles, such as TPX, GPX, FIT, or KML files. The course files can bedownloaded to various electronic devices, such as the fitness watchillustrated in FIG. 1. The course files may contain map data and/ornavigation data to assist the user in navigating the route using theuser's selected electronic device. In some instances, the course filesmay also contain and/or keep track of various fitness metrics, such asheart rate, speed, and the like.

The above-mentioned identification of route and geographic locationusage may be applied to any situation in which position locations arestored (e.g., tracklogs) and used. The apparatus 12 may suggest andenable users to identify popular and heavily-traveled routes andgeographic locations for fitness, recreational, marine, aviation, and/orautomotive uses.

Although the technology has been described with reference to theembodiments illustrated in the attached drawing figures, it is notedthat equivalents may be employed and substitutions made herein withoutdeparting from the scope of the technology as recited in the claims.

Having thus described various embodiments of the technology, what isclaimed as new and desired to be protected by Letters Patent includesthe following:
 1. An apparatus for providing route information to auser, the apparatus comprising: non-transitory computer readable memoryfor receiving and storing route data for a plurality of routespreviously traveled by a plurality of users, the stored route dataincluding geographic locations of points along the routes, informationrelating to the number of times or how frequently the users traveled theroutes or passed through the geographic locations of points along theroutes, types of electronic devices used while traveling the storedroutes and activity types associated with each of the routes; and aprocessing device coupled with the memory and configured to— displayinformation about at least some of the stored routes previously traveledby users, receive desired route characteristic information from theuser, including a desired activity type associated with the user,compare the desired route characteristic information with the storedroute data, suggest at least one of the stored routes having an activitytype that matches the desired activity type to the user based on thecomparison, and visually indicate with a color-coded heat map apopularity of the suggested routes based on types of electronic devicesused while traveling the suggested routes, the heat map associating adistinguishable color with geographic locations associated with thestored routes to indicate a frequency at which the geographic locationshave been previously-traveled.
 2. The apparatus of claim 1, wherein thedesired activity type is selected from at least one of running, cycling,boating, roller skating, roller blading, and skateboarding.
 3. Theapparatus of claim 1, wherein the processing device is furtherconfigured to visually indicate popularity of the stored routes based onat least one of the following criteria: time, day, month, season, tides,types of activity, and dimensions corresponding to equipment used totravel the routes.
 4. The apparatus of claim 1, wherein the popularityof a route the suggested routes is determined based on the number oftimes or how frequently each of the suggested routes was traveled. 5.The apparatus of claim 1, wherein the processing device is furtherconfigured to provide a ranked listing of the stored routes suggestedbased on the comparison.
 6. The apparatus of claim 1, wherein the atleast one of the stored routes suggested to the user based on thecomparison is provided to the user as a course file.
 7. The apparatus ofclaim 1, wherein the desired route characteristic information includes adesired geographic area and wherein the processing device suggests astored route in the desired geographic area.
 8. The apparatus of claim1, wherein the stored route data further including at least one of:types of devices used to collect geographic locations of points alongthe routes, and dimensions corresponding to equipment associated withthe activity.
 9. The apparatus of claim 1, wherein the desired routecharacteristic information includes a type of electronic device the userintends to use while traveling the suggested route.
 10. The apparatus ofclaim 1, wherein the type of electronic device is selected from thegroup consisting of a personal computer, a cycle computer, a sportwatch, a golf computer, a smartphone, a handheld GPS device, a portablenavigation device, a mobile phone, a handheld portable computer, atablet computer, a personal digital assistant, a multimedia device, amedia player, and a game device.
 11. The apparatus of claim 1, whereinthe desired route characteristic information includes dimensionscorresponding to equipment of the user and wherein the processing devicesuggests a stored route corresponding to the user's equipment.
 12. Theapparatus of claim 1, wherein the stored route data includes anidentification of the users who traveled each of the routes, wherein thedesired route characteristic information includes a selected user, andwherein the processing device suggests a stored route previouslytraveled by the selected user.
 13. An Internet-accessible computersystem for providing route information to a user, the system comprising:non-transitory computer readable memory for receiving and storing routedata for a plurality of routes previously traveled by a plurality ofusers, the stored route data including geographic locations of pointsalong the routes, number of times each of the routes was traveled by theplurality of users, types of electronic devices used while traveling thestored routes and whether the users were running or cycling whiletraveling the routes; and a processing device coupled with the memoryand configured to— receive desired route characteristic information fromthe user, the characteristic information including a selection by theuser of a running or cycling activity type, compare the desired routecharacteristic information with the stored route data, suggest at leastone of the stored routes having an activity type that matches thedesired activity type to the user based on the comparison, and visuallyindicate with a color-coded heat map a popularity of the routessuggested based on the types of electronic devices used while travelingthe suggested routes, wherein the color-coded heat map displays onlyroutes having route data associated with the user's selected one ofrunning or cycling activity type.
 14. The computer system of claim 13,wherein the processing device is further configured to provide a rankedlisting of the stored routes suggested based on the comparison.
 15. Thecomputer system of claim 13, wherein the processing device is furtherconfigured to visually indicate popularity of the stored routes based onat least one of the following criteria: time, day, month, season, tides,types of electronic devices, running, cycling, and dimensionscorresponding to equipment used to travel the routes.
 16. The computersystem of claim 13, wherein the desired activity type is selected fromat least one of running, cycling, boating, roller skating, rollerblading, and skateboarding.
 17. The computer system of claim 13, whereinthe at least one of the stored routes suggested to the user based on thecomparison is provided to the user as a course file.
 18. The computersystem of claim 13, wherein the desired route characteristic informationincludes a desired geographic area and wherein the processing devicesuggests a stored route in the desired geographic area.
 19. The computersystem of claim 13, wherein the stored route data further including atleast one of: types of devices used to collect geographic locations ofpoints along the routes, types of activity associated with each of theroutes, and dimensions corresponding to equipment associated with theactivity.
 20. The computer system of claim 13, wherein the desired routecharacteristic information includes a type of electronic device the userintends to use while traveling the suggested route.
 21. The computersystem of claim 13, wherein the stored route data includes anidentification of the users who traveled each of the routes, wherein thedesired route characteristic information includes a selected user, andwherein the processing device suggests a stored route previouslytraveled by the selected user.
 22. The computer system of claim 13,wherein the type of electronic device is selected from the groupconsisting of a personal computer, a cycle computer, a sport watch, agolf computer, a smartphone, a handheld GPS device, a portablenavigation device, a mobile phone, a handheld portable computer, atablet computer, a personal digital assistant, a multimedia device, amedia player, and a game device.